function residual = static_resid(T, y, x, params, T_flag)
% function residual = static_resid(T, y, x, params, T_flag)
%
% File created by Dynare Preprocessor from .mod file
%
% Inputs:
%   T         [#temp variables by 1]  double   vector of temporary terms to be filled by function
%   y         [M_.endo_nbr by 1]      double   vector of endogenous variables in declaration order
%   x         [M_.exo_nbr by 1]       double   vector of exogenous variables in declaration order
%   params    [M_.param_nbr by 1]     double   vector of parameter values in declaration order
%                                              to evaluate the model
%   T_flag    boolean                 boolean  flag saying whether or not to calculate temporary terms
%
% Output:
%   residual
%

if T_flag
    T = CIA.static_resid_tt(T, y, x, params);
end
residual = zeros(8, 1);
lhs = 1/params(1);
rhs = 1-params(2)+y(2);
residual(1) = lhs - rhs;
lhs = params(8)/(y(1)*y(6));
rhs = (-params(1))/(y(6)*y(3)*y(7));
residual(2) = lhs - rhs;
lhs = y(6)*y(3);
rhs = 1;
residual(3) = lhs - rhs;
lhs = y(4)+1/y(6);
rhs = y(1)*y(5)+y(2)*y(4)+(1-params(2))*y(4);
residual(4) = lhs - rhs;
lhs = y(1);
rhs = (1-params(3))*y(8)*T(2);
residual(5) = lhs - rhs;
lhs = y(2);
rhs = params(3)*y(8)*T(3);
residual(6) = lhs - rhs;
lhs = log(y(7));
rhs = (1-params(7))*log(params(9))+log(y(7))*params(7)+x(2);
residual(7) = lhs - rhs;
lhs = log(y(8));
rhs = log(y(8))*params(6)+x(1);
residual(8) = lhs - rhs;
if ~isreal(residual)
  residual = real(residual)+imag(residual).^2;
end
end
